package com.kehutong.charge.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.coraframework.json.annotation.JSONField;

import javax.validation.constraints.NotNull;

/**
 * @description: 抄表模板导出
 * @author: jian Ye
 * @create: 2021/8/23
 **/
@ExcelIgnoreUnannotated
@HeadRowHeight(50)
@HeadStyle(horizontalAlignment = HorizontalAlignment.LEFT)
@ContentFontStyle(fontHeightInPoints = 12)
@HeadFontStyle(fontHeightInPoints = 12,color = 10,bold = false)
public class ItemsBillTemplateExcelVO {

    protected final static String BIG_TITLE =
            "填写须知（本行和表头行勿删除）：\n" +
            "(1)以下红字体为必填项；\n" +
            "(2)账单类型：需与系统中设置——物业标准收费设置——收费类型中的类型保持一致；\n" +
            "(3)账单年月：指该账单是属于哪个月份的账单（如：2021-08）；\n" +
            "(4)记账开始日期：指这笔账单从哪一天开始计算（如：2021-08-01）；\n" +
            "(5)记账截止日期：指这笔账单计算到哪一天（如：2021-08-31）；\n" +
            "(6)出账时间：指这笔账单哪一天产生（如：2021-09-01）；\n" +
            "(7)缴费时间：指这笔账单哪一天可以开始缴费（如：2021-09-10）；\n" +
            "(8)违约时间：指账单如果一直未缴费状态，到达该时间后就会产生违约金（如：2021-09-15）；\n" +
            "(9)收费用户手机号码：仅支持国内11位手机号；";



    @ColumnWidth(20)
    @ExcelProperty({BIG_TITLE,"项目/小区名称"})
    private String communityName;

    @ColumnWidth(10)
    @ExcelProperty({BIG_TITLE,"楼栋"})
    private String buildName;

    @ColumnWidth(10)
    @HeadFontStyle(fontHeightInPoints = 12,color = 8,bold = false)
    @ExcelProperty({BIG_TITLE,"单元"})
    private String unitName;

    @ColumnWidth(10)
    @ExcelProperty({BIG_TITLE,"房号"})
    private String houseNumber;

    @ColumnWidth(15)
    @ExcelProperty({BIG_TITLE,"账单年月"})
    private String billYearMonth;

    @ColumnWidth(10)
    @ExcelProperty({BIG_TITLE,"账单类型"})
    private String feeTypeName;

    @ColumnWidth(10)
    @ExcelProperty({BIG_TITLE,"缴费人"})
    private String chargeName;

    @ColumnWidth(20)
    @ExcelProperty({BIG_TITLE,"缴费人手机号码"})
    private String mobile;

    @ColumnWidth(10)
    @ExcelProperty({BIG_TITLE,"账单金额"})
    private String billAmount;

    @ColumnWidth(15)
    @ExcelProperty({BIG_TITLE,"记账开始时间"})
    private String billCycleStart;

    @ColumnWidth(15)
    @ExcelProperty({BIG_TITLE,"记账截止时间"})
    private String billCycleEnd;

    @ColumnWidth(15)
    @ExcelProperty({BIG_TITLE,"出账时间"})
    private String billDate;

    @ColumnWidth(15)
    @ExcelProperty({BIG_TITLE,"缴费开始时间"})
    private String chargeDate;

    @ColumnWidth(15)
    @ExcelProperty({BIG_TITLE,"违约时间"})
    private String penaltyDate;

    private String houseNo;



    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public String getBuildName() {
        return buildName;
    }

    public void setBuildName(String buildName) {
        this.buildName = buildName;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getHouseNumber() {
        return houseNumber;
    }

    public void setHouseNumber(String houseNumber) {
        this.houseNumber = houseNumber;
    }

    public String getBillYearMonth() {
        return billYearMonth;
    }

    public void setBillYearMonth(String billYearMonth) {
        this.billYearMonth = billYearMonth;
    }

    public String getFeeTypeName() {
        return feeTypeName;
    }

    public void setFeeTypeName(String feeTypeName) {
        this.feeTypeName = feeTypeName;
    }

    public String getChargeName() {
        return chargeName;
    }

    public void setChargeName(String chargeName) {
        this.chargeName = chargeName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getBillAmount() {
        return billAmount;
    }

    public void setBillAmount(String billAmount) {
        this.billAmount = billAmount;
    }

    public String getBillCycleStart() {
        return billCycleStart;
    }

    public void setBillCycleStart(String billCycleStart) {
        this.billCycleStart = billCycleStart;
    }

    public String getBillCycleEnd() {
        return billCycleEnd;
    }

    public void setBillCycleEnd(String billCycleEnd) {
        this.billCycleEnd = billCycleEnd;
    }

    public String getBillDate() {
        return billDate;
    }

    public void setBillDate(String billDate) {
        this.billDate = billDate;
    }

    public String getChargeDate() {
        return chargeDate;
    }

    public void setChargeDate(String chargeDate) {
        this.chargeDate = chargeDate;
    }

    public String getPenaltyDate() {
        return penaltyDate;
    }

    public void setPenaltyDate(String penaltyDate) {
        this.penaltyDate = penaltyDate;
    }

    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }
}
